<?php
if($access_control != "924y39c9vns8r73"){ header("location:../"); }

if(valida::numero($_GET["idcli"])){
    $id_cliente = $_GET["idcli"];
}

if($_GET["p"] == 1){
    $cliente = new cliente();
    $cliente->carregar($id_cliente);
}

if($_POST["btn_pagar"] == "Pagar"){
    if(valida::float($_POST["valor"])){
        $erp = 0;

        $montante = new montante();
        if(!$montante->set_data(date("Y-m-d"))){$erp = 1;}
        if(!$montante->set_hora(date("H:i:s"))){$erp = 1;}
        if(!$montante->set_id_empresa($_SESSION["sgm_id_empresa"])){$erp = 1;}
        if(!$montante->set_id_cliente($id_cliente)){$erp = 1;}
        if(!$montante->set_valor($_POST["valor"])){$erp = 1;}
        
        if($erp == 0){
            $res = $montante->salvar();
            if($res != ''){
                $descricao = "Pagamento referente ao montante ".$montante->get_id();
                $conta = new conta();
                $conta->set_descri($descricao);
                $conta->set_dt_pag(date("Y-m-d"));
                $conta->set_entrada(1);
                $conta->set_valor($montante->get_valor());
                efetuaMovimentoCaixa($conta);
                
                $credito = totalMontante($id_cliente);
                $sql = "SELECT f.id, f.valor FROM sgm_financeiro f, sgm_venda v WHERE f.status <> 1 AND v.id = f.id_venda AND f.id_empresa = '".$_SESSION["sgm_id_empresa"]."' AND v.id_cliente = '$id_cliente' AND v.dt_estorno = '0000-00-00 00:00:00'";
                
                $db = new db(config::$driver);
 		$con = $db->conecta();
		$res = $db->query($sql, $con);
		$db->close($con);
                while($mnt = $db->fetch_array($res)){
                    $financeiro = new financeiro();
                    $financeiro->carregar($mnt["id"]);
                    if($financeiro->get_valor() <= $credito){
                        $financeiro->set_status(1);
                        $financeiro->set_dt_pagamento(date("Y-m-d"));
                        $financeiro->salvar();
                        $credito = $credito - $financeiro->get_valor();
                        
                        $mont = new montante();
                        $mont->set_id_cliente($id_cliente);
                        $mont->set_valor($financeiro->get_valor()*(-1));
                        $mont->set_data(date("Y-m-d"));
                        $mont->set_hora(date("H:i:s"));
                        $mont->set_id_empresa($_SESSION["sgm_id_empresa"]);
                        $mont->salvar();
                        unset($mont);
                    }
                    
                    unset($financeiro);
                }
                echo "
                <script>
                alert('Montante salvo com sucesso!');
                location.href = '?pag=mont&idcli=$id_cliente';
                </script>";
                header("location:?pag=mont&idcli=$id_cliente");
            }else{
                echo "
                <script>alert('Falha ao salvar os dados!')</script>";
            }
        }else{
            echo "
                <script>alert('Preencha os campos corretamente!')</script>";
        }
    }
}

if($_POST["btn_ok"] == "Ok"){
    if(valida::numero($_POST["id"]) && $_POST["id"] != '' && $_POST["id"] != 0){$id = $_POST["id"];}
    elseif(valida::numero($_POST["cliente"]) && $_POST["cliente"] != '' && $_POST["cliente"] != 0){$id = $_POST["cliente"];}
    else{$id = '';}
    
    $sql = "select id, nome from sgm_cliente where id_empresa = '".$_SESSION["sgm_id_empresa"]."' and id = '$id' and bloqueado = '0'";
    $db = new db(config::$driver);
    $con = $db->conecta();
    $res = $db->query($sql, $con);
    $db->close($con);
    $res_cli = $db->fetch_array($res);
    
    $id_cliente = $res_cli[0];
}

function mostraListaClientes($id){
    $sql = "select id, nome from sgm_cliente where id_empresa = '".$_SESSION["sgm_id_empresa"]."' order by nome";
    $db = new db(config::$driver);
    $con = $db->conecta();
    $res = $db->query($sql, $con);
    $db->close($con);
    while ($cliente = $db->fetch_array($res)){
        echo "
        <option value='".$cliente["id"]."'";
        if($id == $cliente["id"]){echo " selected";}
        echo ">".$cliente["nome"]."</option>";
    }
}

function mostraFinanceiro($id){
    $sql = "
    SELECT f.*, c.nome, v.formapagamento 
    FROM sgm_financeiro f, sgm_venda v, sgm_cliente c 
    WHERE f.id_empresa = '".$_SESSION["sgm_id_empresa"]."' AND f.id_venda = v.id AND v.id_cliente = c.id AND c.id = '$id' AND f.status = '0' AND v.dt_estorno  = '0000-00-00 00:00:00'
    ORDER BY f.dt_venc";
    
    $db = new db(config::$driver);
    $con = $db->conecta();
    $res = $db->query($sql, $con);
    $db->close($con);
    $cont = 0;
    while ($financeiro = $db->fetch_array($res)){
        
        $sql_parc = "SELECT parcelas FROM sgm_parcelado WHERE id_venda = '".$financeiro["id_venda"]."'";
        $sql_total = "SELECT total FROM sgm_venda WHERE id = '".$financeiro["id_venda"]."'";
        $db_parc = new db(config::$driver);
        $con_parc = $db_parc->conecta();
        $res_parc = $db_parc->query($sql_parc, $con_parc);
        $res_total = $db_parc->query($sql_total, $con_parc);
        $db_parc->close($con_parc);
        $p = $db_parc->fetch_array($res_parc);
        $t = $db_parc->fetch_array($res_total);
        unset($db_parc);
        
        if($financeiro["formapagamento"] != 1){
            $parc = $financeiro["parcela"]." de ".$p[0];
        }else{
            $parc = "-----";
        }

        if($financeiro["status"] == 1){
            $status = "Pago";
            $pagar = '';
        }else{
            if(date("Y-m-d") > $financeiro["dt_venc"]){
                $status = "Atrasado";
            }else{
                $status = "Ativo";
            }
            $pagar = "<a onClick=\"vendaPag('".$financeiro["id"]."')\" title='Efetuar Pagamento'><button>$</button></a>";
        }
        
        if($cont == 0){
            $cont = 1;
            $class = "zb1";
        }else{
            $cont = 0;
            $class = "zb2";
        }
        
        echo "
        <tr class='$class'>
            <td>".data_ptbr($financeiro["dt_venc"])."</td>
            <td>$parc</td>
            <td>".$financeiro["valor"]."</td>
            <td>".$t[0]."</td>
            <td>".formapagamento($financeiro["formapagamento"])."</td>
            <td>$status</td>
        </tr>";
    }
}

function mostraMontante($id){
    $sql = "select * from sgm_montante where id_empresa = '".$_SESSION["sgm_id_empresa"]."' and id_cliente = '$id'";
    $db = new db(config::$driver);
    $con = $db->conecta();
    $res = $db->query($sql, $con);
    $db->close($con);
    $cont = 0;
    while ($montante = $db->fetch_array($res)){
        
        if($cont == 0){
            $cont = 1;
            $class = "zb1";
        }else{
            $cont = 0;
            $class = "zb2";
        }
        
        echo "
                            <tr class='$class'>
                                <td>".$montante["data"]."</td>
                                <td>".$montante["hora"]."</td>
                                <td>".$montante["valor"]."</td>
                            </tr>";
        $i++;
    }
}

function totalVendas($id){
    //$sql = "select sum(total) from sgm_venda where id_empresa = '".$_SESSION["sgm_id_empresa"]."' and id_cliente = '$id'";
    $sql = "SELECT sum(f.valor) FROM sgm_financeiro f, sgm_venda v WHERE f.id_empresa = '".$_SESSION["sgm_id_empresa"]."' AND f.status = 0 AND f.id_venda = v.id AND v.id_cliente = '$id' AND v.dt_estorno = '0000-00-00 00:00:00'";
    
    $db = new db(config::$driver);
    $con = $db->conecta();
    $res = $db->query($sql, $con);
    $db->close($con);
    $valor = $db->fetch_array($res);
    
    return add_0(limita_casa($valor[0]));
}

function totalMontante($id){
    $sql = "select sum(valor) from sgm_montante where id_empresa = '".$_SESSION["sgm_id_empresa"]."' and id_cliente = '$id'";
    $db = new db(config::$driver);
    $con = $db->conecta();
    $res = $db->query($sql, $con);
    $db->close($con);
    $valor = $db->fetch_array($res);
    
    return add_0(limita_casa($valor[0]));
}
?>
